﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Domain.Entities;
using Domain.Core;
using Domain.Core.Specification;
namespace Domain.Service.System
{
    /// <summary>
    /// 定义基础设施层操作规范，以领域为最小单位
    /// </summary>
    public interface IUserRepository :
        IRepository<WebManageUsers>,
        IExtensionRepository<WebManageUsers>
    {
        /// <summary>
        /// 得到用户包括它的角色
        /// </summary>
        /// <returns></returns>
        IQueryable<WebManageUsers> GetWebManageUsers();
        /// <summary>
        /// 条件过滤用户包括它的角色
        /// </summary>
        /// <param name="specification"></param>
        /// <returns></returns>
        IQueryable<WebManageUsers> GetWebManageUsers(ISpecification<WebManageUsers> specification);
        /// <summary>
        /// 当然当前用户实体
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        WebManageUsers GetWebManageUsers(WebManageUsers entity);


    }
}
